A Metaobject Protocol for Optimizing Application-Specic Run-Time Variability
نویسندگان
چکیده
Just-in-time compilers and their aggressive speculative optimizations reduced the performance gap between dynamic and static languages drastically. To successfully speculate, compilers rely on the program variability observed at run time to be low, and use heuristics to determine when optimization is benecial. However, some variability paerns are hard to capture with heuristics. Specifically, ephemeral, warmup, rare, and highly indirect variability are challenges for today’s compiler heuristics. As a consequence, they can lead to reduced application performance. However, these types of variability are identiable at the application level and could be mitigated with information provided by developers. As a solution, we propose a metaobject protocol for dynamic compilation systems to enable application developers to provide such information at run time. As a proof of concept, we demonstrate performance improvements for a few scenarios in a dynamic language built on top of the True and Graal system. ACM Reference format: Guido Chari, Diego Garbervetsky, and Stefan Marr. 2017. A Metaobject Protocol for Optimizing Application-Specic Run-Time Variability. In Proceedings of ICOOOLPS’17, Barcelona , Spain, June 19, 2017, 5 pages. DOI: 10.1145/3098572.3098577
منابع مشابه
Run-Time Metaobject Protocols: the Quest for their Holy Application
Run-time MetaObject Protocols (MOPs) are reflective systems that allow objects to be controlled at run time by one or many metaobjects. These metaobjects can then alter the semantics of the execution for the base objects they control. Jumping to the meta level to alter the semantics is powerful but indeed fairly costly. It is therefore desirable to let users fine-tune their run-time MOP accordi...
متن کاملAspect-Oriented Programming using Reflection
What infrastructure is needed to support aspect-oriented software development? To the programmer, we must supply aspect-oriented (sub)languages that are based on the constructs and basic syntax that the programmer is most familiar with, as well as facilities for reifying and manipulating the cross-cutting features of immediate concern. At the implementation level, the aspect specifications must...
متن کاملTolérance aux fautes sur CORBA par protocole à métaobjets et langages réflexifs
The goal of this dissertation is to design and implement a metaobject protocol adapted to fault-tolerance in Corba applications. No currently available metaobject protocol is satisfactory in this context. We define a protocol that enables dynamic control of (a) the behaviour and internal state of Corba objects, and (b) client/server and object/metaobject links. The implementation we propose is ...
متن کاملMarc - Olivier
The goal of this dissertation is to design and implement a metaobject protocol adapted to fault-tolerance in Corba applications. No currently available metaobject protocol is satisfactory in this context. We define a protocol that enables dynamic control of (a) the behaviour and internal state of Corba objects, and (b) client/server and object/metaobject links. The implementation we propose is ...
متن کاملThe art of the Metaobject Protocol
This inspiring book becomes one that is very booming. After published, this book can steal the market and book lovers to always run out of this book. And now, we will not let you run out any more to get this book. Why should be the art of the metaobject protocol? As a book lover, you must know that enjoying the book to read should be relevant to how you exactly need now. If they are not too muc...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017